#ifndef MY_SESSION_MGR
#define MY_SESSION_MGR
#include "..\include\net_module.h"
#include <boost/pool/object_pool.hpp>
#include "my_session_event_handler.h"
class CSessionEventHandler;
class CSessionMgr :
    public utility::network::session_mgr
{
public:
    static CSessionMgr & Instance() 
    {
        static CSessionMgr inst;
        return inst;
    }
private:
    CSessionMgr() {}
public:
    typedef boost::object_pool<CSessionEventHandler> event_handler_pool;
public:
    virtual void on_accept(utility::network::session *);
    void ReleaseEventHandler(CSessionEventHandler *);
private:
    event_handler_pool m_HandlerPool;
};

#endif // endif of MY_SESSION_MGR
